Press J to jump to the feed. Press question mark to learn the rest of the keyboard shortcuts
Trending today
Found the internet!
7

IBM SystemX 3650 (M2) Fan Speed Control

7

IBM SystemX 3650 (M2) Fan Speed Control

I looked everywhere to try and figure out how to make these machines be quieter... I ended up doing some poking around the IMM firmware and found the following command should put each "Zone" into Acoustic mode:

ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
ipmitool raw 0x3a 0x07 0x03 0x00 0x01

Of course, it's up to you to ensure your server doesn't get too hot, but hopefully this will help out with the noise...


I believe the third argument to the IPMI raw command refers to the number (Zone) on each Fan Tach when you do:

[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool sdr | grep Tach
Fan 1A Tach      | 1479 RPM          | ok
Fan 1B Tach      | 1050 RPM          | ok
Fan 2A Tach      | 1479 RPM          | ok
Fan 2B Tach      | 1100 RPM          | ok
Fan 3A Tach      | 1537 RPM          | ok
Fan 3B Tach      | 1050 RPM          | ok
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]


This might work on other models too, though I am not sure...

Some other commands I've found:

[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool raw 0x3a 0x06
 0a 05 03 02 0a 02 03 64 64 28 03 02 0a 02 03 64
 64 28 0a 05 03 02 0a 02 03 64 64 28
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]

Which corresponds to the following log entries in IMM:

Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.791254 ] thermal: Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.792231 ] thermal: Controller - get_zone_config_request for zone 1
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793447 ] thermal: Zone 1 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793906 ] thermal: Zone 1 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794443 ] thermal: Zone 1 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794825 ] thermal: Controller - get_zone_config_request for zone 2
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795393 ] thermal: Zone 2 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795801 ] thermal: Zone 2 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796329 ] thermal: Controller - get_zone_config_request for zone 3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796728 ] thermal: Zone 3 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797277 ] thermal: Zone 3 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797694 ] thermal: Zone 3 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%

I'll let you map that out if you need to tweak things for your tastes (Zone 2 is a DIMM zone, so no CPU TControl values)


I can do a write-up on my efforts if anyone is interested further...

8 comments
78% Upvoted
User avataru/vonage·promoted

Use Vonage Communications APIs so you can say to your competitor, "Nice website and app." They say, "Thanks." You say, "Too bad it doesn't use video to create a more interactive and personal customer journey." Then they die a little on the inside.

Log in or sign up to leave a comment
User avatar
level 1

Thank You!!!

I have been searching for days on how to do this for my 3650 M4. The first two command work for me:

ipmitool raw 0x3a 0x07 0x01 0x00 0x01

ipmitool raw 0x3a 0x07 0x02 0x00 0x01


CPU temps are around 45c, ambient around 22c. Fans now around 1200 to 1500 :)

2
User avatar
level 1

Oh and a side note, currently my temps are:

Ambient: 28 degrees C

Zone 1:
	CPU 1 temp = -32 : tcontrol = -10

Zone 2: 
	DIMM 1 Temperature = 43 degrees Celsius
	DIMM 2 Temperature = 44 degrees Celsius
	DIMM 3 Temperature = 43 degrees Celsius
	DIMM 4 Temperature = 43 degrees Celsius
	DIMM 5 Temperature = 43 degrees Celsius
	DIMM 6 Temperature = 45 degrees Celsius
	DIMM 7 Temperature = 46 degrees Celsius
	DIMM 8 Temperature = 47 degrees Celsius
	DIMM 9 Temperature = 47 degrees Celsius
	DIMM 10 Temperature = 48 degrees Celsius
	DIMM 11 Temperature = 48 degrees Celsius
	DIMM 12 Temperature = 48 degrees Celsius
	DIMM 13 Temperature = 48 degrees Celsius
	DIMM 14 Temperature = 47 degrees Celsius
	DIMM 15 Temperature = 47 degrees Celsius
	DIMM 16 Temperature = 49 degrees Celsius

Zone 3:
	CPU 2 temp = -29 : tcontrol = -10
1
User avatar
level 1

I would be yes, mine run at about 50% across the board, not loud, but it would be an interesting experiment for me. Thanks!

1
User avatar
level 2

I'll see if I can do a write-up over the next few weeks.. The whole fan-speed control piece started from the fact that i'll be moving house shortly, so things are a bit crazy at the moment.

1
User avatar
level 1
Op · 3 yr. ago · edited 3 yr. ago

Also I forgot to tell you how to undo that acoustic change:

ipmitool raw 0x3a 0x07 0x01 0x00 0x00
ipmitool raw 0x3a 0x07 0x02 0x00 0x00
ipmitool raw 0x3a 0x07 0x03 0x00 0x00

After the fans are in acoustic mode, there’s a command on the IMM (you need root to access it) called fan which can control the PWM on each zone.

1
User avatar
level 1
· 3 yr. ago · edited 3 yr. ago

Thank you! I had put FreeBSD on an old x3550 (1st gen, no Mx) and the fans went to 100% after booting. I modified your commands just a bit for the zones in my server:

ipmitool raw 0x3a 0x07 0x00 0x00 0x01

ipmitool raw 0x3a 0x07 0x01 0x00 0x01

ipmitool raw 0x3a 0x07 0x02 0x00 0x01

This took the fans from ~13000-15000 rpm down to 2200-3400 rpm. MUCH better, as this is a 1u compared to your 2u, so the fans are small and quite loud.

1
User avatar
level 1

Did you ever do the writeup? I'm intrigued how you extracted these from the firmware. I too have a noisy 3650 M4, I previously determined something similar was possible but with commands like this:

ipmitool raw 0x3a 0x07 0x01 0x20 0x01

ipmitool raw 0x3a 0x07 0x01 0x60 0x01

These appear to manually change the speed of the fans rather than the fan profile: i.e. Acoustic mode etc.

This log message seems to suggest that the 0x3a 0x06 command is responsible for the profile change:

Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm.


I'll have another play with it later (and look at the logs to see what each command does as I was previously doing it by hear and checking the fan tach sensors).

1
User avatar
level 2

Oh neat! You worked out how to actually set the PWM values..!

Unfortunately I have had to move countries and couldn’t bring the server with me, so my efforts ended there.

I still want to do the write up though, it was kind of a fun side project.

1
More posts from the homelab community
1.4k
Post image
1.4k
192 comments
1.2k
  • r/homelab - original 'cabinet'
  • r/homelab - diy plywood cab, still work in progress
  • r/homelab - final resting place
  • r/homelab - diy console cos I'm a poor ass
  • r/homelab - DIY rack enclosure because I'm a poor ass
1/5
original 'cabinet'
1.2k
158 comments
1.1k
Vote
User avatarpromoted
Post image
Vote
0 comments
1.1k
Post image
1.1k
254 comments
1.1k
Post image
1.1k
92 comments
903
View Comments
Play
0:00
0:11
Settings
Fullscreen
903
67 comments
825
  • r/homelab - My ebay ram came packed like this
  • r/homelab - My ebay ram came packed like this
1/3
825
139 comments
818
Post image
818
107 comments
665
Post image
665
108 comments
646
  • r/homelab - OPNSense on Checkpoint 4400 T140, finally an opnsense with 8 Gigabit ports 😎😎🔥
  • r/homelab - OPNSense on Checkpoint 4400 T140, finally an opnsense with 8 Gigabit ports 😎😎🔥
1/3
646
78 comments
543
Post image
543
70 comments
495
Post image
495
40 comments
348
Post image
348
39 comments
343
Post image
343
70 comments
268
268
27 comments
263
Post image
263
137 comments
237
1/2
237
89 comments
229
229
20 comments
190
Post image
190
10 comments
2
User avatarpromoted
Post image
2
0 comments
185
1/2
Desktop view.
185
43 comments
178
178
61 comments
171
Post image
171
51 comments
155
1/2
Home Rack
155
25 comments
141
Post image
141
28 comments
139
1/3
139
26 comments
Continue browsing in r/homelab
Welcome to your friendly /r/homelab, where techies and sysadmin from everywhere are welcome to share their labs, projects, builds, etc.
461k

Members

1.0k

Online


Created Jun 19, 2012
7

IBM SystemX 3650 (M2) Fan Speed Control

7

IBM SystemX 3650 (M2) Fan Speed Control

I looked everywhere to try and figure out how to make these machines be quieter... I ended up doing some poking around the IMM firmware and found the following command should put each "Zone" into Acoustic mode:

ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
ipmitool raw 0x3a 0x07 0x03 0x00 0x01

Of course, it's up to you to ensure your server doesn't get too hot, but hopefully this will help out with the noise...


I believe the third argument to the IPMI raw command refers to the number (Zone) on each Fan Tach when you do:

[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool sdr | grep Tach
Fan 1A Tach      | 1479 RPM          | ok
Fan 1B Tach      | 1050 RPM          | ok
Fan 2A Tach      | 1479 RPM          | ok
Fan 2B Tach      | 1100 RPM          | ok
Fan 3A Tach      | 1537 RPM          | ok
Fan 3B Tach      | 1050 RPM          | ok
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]


This might work on other models too, though I am not sure...

Some other commands I've found:

[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool raw 0x3a 0x06
 0a 05 03 02 0a 02 03 64 64 28 03 02 0a 02 03 64
 64 28 0a 05 03 02 0a 02 03 64 64 28
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]

Which corresponds to the following log entries in IMM:

Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.791254 ] thermal: Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.792231 ] thermal: Controller - get_zone_config_request for zone 1
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793447 ] thermal: Zone 1 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793906 ] thermal: Zone 1 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794443 ] thermal: Zone 1 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794825 ] thermal: Controller - get_zone_config_request for zone 2
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795393 ] thermal: Zone 2 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795801 ] thermal: Zone 2 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796329 ] thermal: Controller - get_zone_config_request for zone 3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796728 ] thermal: Zone 3 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797277 ] thermal: Zone 3 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797694 ] thermal: Zone 3 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%

I'll let you map that out if you need to tweak things for your tastes (Zone 2 is a DIMM zone, so no CPU TControl values)


I can do a write-up on my efforts if anyone is interested further...

8 comments
78% Upvoted
Log in or sign up to leave a comment
User avatar
level 1

Thank You!!!

I have been searching for days on how to do this for my 3650 M4. The first two command work for me:

ipmitool raw 0x3a 0x07 0x01 0x00 0x01

ipmitool raw 0x3a 0x07 0x02 0x00 0x01


CPU temps are around 45c, ambient around 22c. Fans now around 1200 to 1500 :)

2
User avatar
level 1

Oh and a side note, currently my temps are:

Ambient: 28 degrees C

Zone 1:
	CPU 1 temp = -32 : tcontrol = -10

Zone 2: 
	DIMM 1 Temperature = 43 degrees Celsius
	DIMM 2 Temperature = 44 degrees Celsius
	DIMM 3 Temperature = 43 degrees Celsius
	DIMM 4 Temperature = 43 degrees Celsius
	DIMM 5 Temperature = 43 degrees Celsius
	DIMM 6 Temperature = 45 degrees Celsius
	DIMM 7 Temperature = 46 degrees Celsius
	DIMM 8 Temperature = 47 degrees Celsius
	DIMM 9 Temperature = 47 degrees Celsius
	DIMM 10 Temperature = 48 degrees Celsius
	DIMM 11 Temperature = 48 degrees Celsius
	DIMM 12 Temperature = 48 degrees Celsius
	DIMM 13 Temperature = 48 degrees Celsius
	DIMM 14 Temperature = 47 degrees Celsius
	DIMM 15 Temperature = 47 degrees Celsius
	DIMM 16 Temperature = 49 degrees Celsius

Zone 3:
	CPU 2 temp = -29 : tcontrol = -10
1
User avatar
level 1

I would be yes, mine run at about 50% across the board, not loud, but it would be an interesting experiment for me. Thanks!

1
User avatar
level 2

I'll see if I can do a write-up over the next few weeks.. The whole fan-speed control piece started from the fact that i'll be moving house shortly, so things are a bit crazy at the moment.

1
User avatar
level 1
Op · 3 yr. ago · edited 3 yr. ago

Also I forgot to tell you how to undo that acoustic change:

ipmitool raw 0x3a 0x07 0x01 0x00 0x00
ipmitool raw 0x3a 0x07 0x02 0x00 0x00
ipmitool raw 0x3a 0x07 0x03 0x00 0x00

After the fans are in acoustic mode, there’s a command on the IMM (you need root to access it) called fan which can control the PWM on each zone.

1
User avatar
level 1
· 3 yr. ago · edited 3 yr. ago

Thank you! I had put FreeBSD on an old x3550 (1st gen, no Mx) and the fans went to 100% after booting. I modified your commands just a bit for the zones in my server:

ipmitool raw 0x3a 0x07 0x00 0x00 0x01

ipmitool raw 0x3a 0x07 0x01 0x00 0x01

ipmitool raw 0x3a 0x07 0x02 0x00 0x01

This took the fans from ~13000-15000 rpm down to 2200-3400 rpm. MUCH better, as this is a 1u compared to your 2u, so the fans are small and quite loud.

1
User avatar
level 1

Did you ever do the writeup? I'm intrigued how you extracted these from the firmware. I too have a noisy 3650 M4, I previously determined something similar was possible but with commands like this:

ipmitool raw 0x3a 0x07 0x01 0x20 0x01

ipmitool raw 0x3a 0x07 0x01 0x60 0x01

These appear to manually change the speed of the fans rather than the fan profile: i.e. Acoustic mode etc.

This log message seems to suggest that the 0x3a 0x06 command is responsible for the profile change:

Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm.


I'll have another play with it later (and look at the logs to see what each command does as I was previously doing it by hear and checking the fan tach sensors).

1
User avatar
level 2

Oh neat! You worked out how to actually set the PWM values..!

Unfortunately I have had to move countries and couldn’t bring the server with me, so my efforts ended there.

I still want to do the write up though, it was kind of a fun side project.

1
More posts from the homelab community
1.4k
Post image
1.4k
192 comments
1.2k
  • r/homelab - original 'cabinet'
  • r/homelab - diy plywood cab, still work in progress
  • r/homelab - final resting place
  • r/homelab - diy console cos I'm a poor ass
  • r/homelab - DIY rack enclosure because I'm a poor ass
1/5
original 'cabinet'
1.2k
158 comments
1.1k
Post image
1.1k
303 comments
Vote
User avatarpromoted
Post image
Vote
0 comments
1.1k
Post image
1.1k
254 comments
1.1k
Post image
1.1k
92 comments
903
View Comments
Play
0:00
0:11
Settings
Fullscreen
903
67 comments
825
1/3
825
139 comments
818
Post image
818
107 comments
665
Post image
665
108 comments
646
1/3
646
78 comments
543
Post image
543
70 comments
495
Post image
495
40 comments
348
Post image
348
39 comments
343
Post image
343
70 comments
268
268
27 comments
263
Post image
263
137 comments
237
1/2
237
89 comments
229
229
20 comments
190
Post image
190
10 comments
2
User avatarpromoted
Post image
2
0 comments
185
1/2
Desktop view.
185
43 comments
178
178
61 comments
171
Post image
171
51 comments
155
1/2
Home Rack
155
25 comments
141
Post image
141
28 comments
139
1/3
139
26 comments
Continue browsing in r/homelab
Welcome to your friendly /r/homelab, where techies and sysadmin from everywhere are welcome to share their labs, projects, builds, etc.
461k

Members

1.0k

Online


Created Jun 19, 2012